<template>
  <div>
    <Header></Header>
    <router-view></router-view>
    <!-- 底部组件按需加载写法1 computed计算属性-->
    <!-- <Footer v-if="isFooterShow"></Footer> -->
    <!-- 底部组件按需加载写法2 meta元信息路由组件固定信息 需要在路由对象配置meta元信息 v-if为false的时候组件不显示 通过$route.meta访问其中的isHidden属性值，默认为true，在让他取反变为false即可实现 -->
    <Footer v-if="!$route.meta.isHidden"></Footer>
  </div>
</template>

<script>
import Header from "@/components/Header";
import Footer from "@/components/Footer";
import { mapActions } from "vuex";
export default {
  name: "App",
  components: {
    Header,
    Footer,
  },
  mounted() {
    // console.log(this);
    // 初始化TypeNav的三级分类数据，防止公共组件多次使用的时候,进行多次请求
    this.getCategoryList();
  },
  methods: {
    ...mapActions("category", ["getCategoryList"]),
  },
  computed: {
    // 需求：只有home路由组件和search路由组件需要加载footer组件，login和register不加载底部footer组件 对应上面写法一
    // isFooterShow() {
    //   return this.$route.name !== "login" && this.$route.name !== "register";
    // },
  },
};
</script>

<style>
</style>